
const path = require('path');
const webpack = require('webpack');

function resolve(dir) {
    return path.join(__dirname, dir);
}
module.exports = {
    // 输出文件目录
    outputDir: 'dist',
    // eslint-loader 是否在保存的时候检查
    lintOnSave: true,
    assetsDir: 'static',
    // 生产环境是否生成 sourceMap 文件
    productionSourceMap: true,
    // webpack配置
    chainWebpack: (config) => {
        config.resolve.alias.set('@', resolve('src')).set('assets', resolve('src/assets'));
        // sass变量加载
        const oneOfsMap = config.module.rule('scss').oneOfs.store;
        oneOfsMap.forEach((item) => {
            item
                .use('sass-resources-loader')
                .loader('sass-resources-loader')
                .options({
                    // 全局变量资源路径
                    resources: ['./src/assets/css/variable.scss', './src/assets/css/initialimixin.scss'],
                    // 也可以选择全局变量路径数组, 如果你有多个文件需要成为全局,就可以采用这种方法
                    // resources: ['./path/to/vars.scss', './path/to/mixins.scss']
                    // resources: './path/to/vars.scss'
                    // 或者你可以将多个scss文件@import到一个main.scss用第一种方法，都是可以的
                })
                .end();
        });

        // quill富文本编辑器相关设置
        config.plugin('provide').use(webpack.ProvidePlugin, [
            {
                'window.Quill': 'quill',
                Quill: 'quill/dist/quill.js',
            },
        ]);
    },
    devServer: {
        open: true,
        // host: 'dev.chart-custom.jd.com',
        port: 88,
        https: false,
        hotOnly: false,
        proxy: {
            '/api': {
                target: 'https://www.fastmock.site/mock/4ea244e7207db119a810a805c3208398/echart_custom',
                ws: true, // 是否启用websockets
                changOrigin: true, // 开启代理
                secure: false, // 将安全设置为false,才能访问https开头的
                pathRewrite: {
                    '^/api': ''
                }
            }
        }
    },
};
